{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Overwatch League Statistics"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "import pandas as pd\n",
    "import numpy as np\n",
    "import matplotlib.cm as cm\n",
    "import matplotlib.colors as colors\n",
    "import matplotlib.pyplot as plt"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "ename": "FileNotFoundError",
     "evalue": "[Errno 2] File b'Data/phs_2019/phs_2019_playoffs.csv' does not exist: b'Data/phs_2019/phs_2019_playoffs.csv'",
     "output_type": "error",
     "traceback": [
      "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
      "\u001b[0;31mFileNotFoundError\u001b[0m                         Traceback (most recent call last)",
      "\u001b[0;32m<ipython-input-5-7aff72300701>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mdf\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mpd\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mread_csv\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m\"Data/phs_2019/phs_2019_playoffs.csv\"\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m      2\u001b[0m \u001b[0mdf\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mshape\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;32m~/anaconda3/lib/python3.7/site-packages/pandas/io/parsers.py\u001b[0m in \u001b[0;36mparser_f\u001b[0;34m(filepath_or_buffer, sep, delimiter, header, names, index_col, usecols, squeeze, prefix, mangle_dupe_cols, dtype, engine, converters, true_values, false_values, skipinitialspace, skiprows, skipfooter, nrows, na_values, keep_default_na, na_filter, verbose, skip_blank_lines, parse_dates, infer_datetime_format, keep_date_col, date_parser, dayfirst, cache_dates, iterator, chunksize, compression, thousands, decimal, lineterminator, quotechar, quoting, doublequote, escapechar, comment, encoding, dialect, error_bad_lines, warn_bad_lines, delim_whitespace, low_memory, memory_map, float_precision)\u001b[0m\n\u001b[1;32m    683\u001b[0m         )\n\u001b[1;32m    684\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 685\u001b[0;31m         \u001b[0;32mreturn\u001b[0m \u001b[0m_read\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfilepath_or_buffer\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mkwds\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m    686\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    687\u001b[0m     \u001b[0mparser_f\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m__name__\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mname\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;32m~/anaconda3/lib/python3.7/site-packages/pandas/io/parsers.py\u001b[0m in \u001b[0;36m_read\u001b[0;34m(filepath_or_buffer, kwds)\u001b[0m\n\u001b[1;32m    455\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    456\u001b[0m     \u001b[0;31m# Create the parser.\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 457\u001b[0;31m     \u001b[0mparser\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mTextFileReader\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfp_or_buf\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwds\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m    458\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    459\u001b[0m     \u001b[0;32mif\u001b[0m \u001b[0mchunksize\u001b[0m \u001b[0;32mor\u001b[0m \u001b[0miterator\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;32m~/anaconda3/lib/python3.7/site-packages/pandas/io/parsers.py\u001b[0m in \u001b[0;36m__init__\u001b[0;34m(self, f, engine, **kwds)\u001b[0m\n\u001b[1;32m    893\u001b[0m             \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0moptions\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m\"has_index_names\"\u001b[0m\u001b[0;34m]\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mkwds\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m\"has_index_names\"\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    894\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 895\u001b[0;31m         \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_make_engine\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mengine\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m    896\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    897\u001b[0m     \u001b[0;32mdef\u001b[0m \u001b[0mclose\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;32m~/anaconda3/lib/python3.7/site-packages/pandas/io/parsers.py\u001b[0m in \u001b[0;36m_make_engine\u001b[0;34m(self, engine)\u001b[0m\n\u001b[1;32m   1133\u001b[0m     \u001b[0;32mdef\u001b[0m \u001b[0m_make_engine\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mengine\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m\"c\"\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m   1134\u001b[0m         \u001b[0;32mif\u001b[0m \u001b[0mengine\u001b[0m \u001b[0;34m==\u001b[0m \u001b[0;34m\"c\"\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1135\u001b[0;31m             \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_engine\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mCParserWrapper\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mf\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0moptions\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m   1136\u001b[0m         \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m   1137\u001b[0m             \u001b[0;32mif\u001b[0m \u001b[0mengine\u001b[0m \u001b[0;34m==\u001b[0m \u001b[0;34m\"python\"\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;32m~/anaconda3/lib/python3.7/site-packages/pandas/io/parsers.py\u001b[0m in \u001b[0;36m__init__\u001b[0;34m(self, src, **kwds)\u001b[0m\n\u001b[1;32m   1915\u001b[0m         \u001b[0mkwds\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m\"usecols\"\u001b[0m\u001b[0;34m]\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0musecols\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m   1916\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1917\u001b[0;31m         \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_reader\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mparsers\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mTextReader\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0msrc\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwds\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m   1918\u001b[0m         \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0munnamed_cols\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_reader\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0munnamed_cols\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m   1919\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;32mpandas/_libs/parsers.pyx\u001b[0m in \u001b[0;36mpandas._libs.parsers.TextReader.__cinit__\u001b[0;34m()\u001b[0m\n",
      "\u001b[0;32mpandas/_libs/parsers.pyx\u001b[0m in \u001b[0;36mpandas._libs.parsers.TextReader._setup_parser_source\u001b[0;34m()\u001b[0m\n",
      "\u001b[0;31mFileNotFoundError\u001b[0m: [Errno 2] File b'Data/phs_2019/phs_2019_playoffs.csv' does not exist: b'Data/phs_2019/phs_2019_playoffs.csv'"
     ]
    }
   ],
   "source": [
    "df = pd.read_csv(\"Data/phs_2019/phs_2019_playoffs.csv\")\n",
    "df.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array(['All Damage Done', 'Assists', 'Average Time Alive',\n",
       "       'Barrier Damage Done', 'Damage - Quick Melee', 'Damage Blocked',\n",
       "       'Damage Done', 'Damage Taken', 'Deaths', 'Eliminations',\n",
       "       'Environmental Deaths', 'Final Blows', 'Healing Done',\n",
       "       'Hero Damage Done', 'Melee Final Blows',\n",
       "       'Melee Percentage of Final Blows', 'Multikills', 'Objective Kills',\n",
       "       'Objective Time', 'Shots Fired', 'Time Alive',\n",
       "       'Time Building Ultimate', 'Time Elapsed per Ultimate Earned',\n",
       "       'Time Holding Ultimate', 'Time Played',\n",
       "       'Ultimates Earned - Fractional', 'Ultimates Used',\n",
       "       'Weapon Accuracy', 'Critical Hit Accuracy', 'Critical Hit Kills',\n",
       "       'Critical Hits', 'Damage - Boosters', 'Damage - Micro Missiles',\n",
       "       'Damage - Pistol', 'Damage - Weapon', 'Eliminations per Life',\n",
       "       'Healing Received', 'Mech Deaths', 'Mechs Called',\n",
       "       'Quick Melee Accuracy', 'Quick Melee Hits', 'Quick Melee Ticks',\n",
       "       'Self-Destructs', 'Shots Hit', 'Shots Missed', 'Time Hacked',\n",
       "       'Accretion Kills', 'Accretion Stuns', 'Damage - Accretion',\n",
       "       'Damage - Hyperspheres', 'Damage Absorbed',\n",
       "       'Gravitic Flux Damage Done', 'Gravitic Flux Kills',\n",
       "       'Hyperspheres Direct Hits', 'Environmental Kills',\n",
       "       'Offensive Assists', 'Solo Kills', 'Ability Damage Done',\n",
       "       'Damage - Rising Uppercut', 'Damage - Rocket Punch',\n",
       "       'Damage - Seismic Slam', 'Shields Created',\n",
       "       'Concussion Mine Kills', 'Damage - Concussion Mine',\n",
       "       'Damage - RIP-Tire', 'Damage - Steel Trap', 'Enemies Trapped',\n",
       "       'Frag Launcher Direct Hits', 'RIP-Tire Efficiency',\n",
       "       'RIP-Tire Kills', 'Barrage Efficiency', 'Barrage Kills',\n",
       "       'Damage - Barrage', 'Direct Hit Accuracy', 'Rocket Barrages',\n",
       "       'Rocket Direct Hits', 'of Rockets Fired', 'Defensive Assists',\n",
       "       'Amped Speed Activations', 'Speed Song Time Elapsed',\n",
       "       'Biotic Orb Damage Efficiency', 'Biotic Orb Healing Efficiency',\n",
       "       'Biotic Orb Maximum Damage', 'Biotic Orb Maximum Healing',\n",
       "       'Coalescence Healing', 'Coalescence Kills',\n",
       "       'Coalesence - Damage per Use', 'Coalesence - Healing per Use',\n",
       "       'Damage - Biotic Orb', 'Damage - Coalescence',\n",
       "       'Healing - Biotic Orb', 'Healing - Coalescence',\n",
       "       'Healing - Secondary Fire', 'Secondary Fire Accuracy',\n",
       "       'Secondary Fire Hits', 'Secondary Fire Ticks', 'Self Healing',\n",
       "       'Self Healing Percent of Damage Taken', 'EMP Efficiency',\n",
       "       \"Enemies EMP'd\", 'Enemies Hacked',\n",
       "       'Average Players per Teleporter', 'Damage - Sentry Turret',\n",
       "       'Damage - Weapon Primary', 'Damage - Weapon Secondary',\n",
       "       'Photon Projector Kills', 'Players Teleported',\n",
       "       'Primary Fire Accuracy', 'Primary Fire Average Level',\n",
       "       'Primary Fire Hits', 'Primary Fire Hits Hits - Level',\n",
       "       'Primary Fire Ticks', 'Secondary Direct Hits',\n",
       "       'Sentry Turret Kills', 'Teleporter Uptime', 'Teleporters Placed',\n",
       "       'Amplification Matrix Assists', 'Amplification Matrix Casts',\n",
       "       'Amplification Matrix Efficiency',\n",
       "       'Biotic Launcher Healing Explosions',\n",
       "       'Biotic Launcher Healing Shots', 'Damage Amplified',\n",
       "       'Damage Prevented', 'Healing - Biotic Launcher',\n",
       "       'Healing - Regenerative Burst', 'Healing Accuracy',\n",
       "       'Immortality Field Deaths Prevented', 'Blaster Kills',\n",
       "       'Damage - Weapon Pistol', 'Healing - Weapon',\n",
       "       'Healing - Weapon Valkyrie', 'Players Resurrected',\n",
       "       'Players Saved', 'Valkyrie Healing Efficiency', 'Players Halted',\n",
       "       'Supercharger Assists', 'Supercharger Efficiency',\n",
       "       'Adaptive Shield Uses', 'Air Uptime', 'Air Uptime Percentage',\n",
       "       'Damage - Grappling Claw', 'Damage - Minefield',\n",
       "       'Damage - Piledriver', 'Damage Taken - Adaptive Shield',\n",
       "       'Damage Taken - Ball', 'Damage Taken - Tank',\n",
       "       'Grappling Claw Impacts', 'Grappling Claw Kills',\n",
       "       'Grappling Claw Uses', 'Piledriver Kills', 'Piledriver Uses',\n",
       "       'Players Knocked Back', 'Roll Uptime', 'Roll Uptime Percentage',\n",
       "       'Roll Uses', 'Shielding - Adaptive Shield', 'Turrets Destroyed',\n",
       "       'Amped Heal Activations', 'Heal Song Time Elapsed',\n",
       "       'Healing - Healing Boost', 'Healing - Healing Boost Amped',\n",
       "       'Soundwave Kills', 'Damage - Meteor Strike',\n",
       "       'Meteor Strike Efficiency', 'Meteor Strike Kills',\n",
       "       'Teleporter Pads Destroyed', 'Damage - Call Mech',\n",
       "       'Average Energy', 'Energy Maximum', 'Lifetime Energy Accumulation',\n",
       "       'Projected Barrier Damage Blocked', 'Projected Barriers Applied',\n",
       "       'Match Blinks Used', 'Biotic Grenade Kills',\n",
       "       'Damage - Biotic Grenade', 'Damage - Weapon Scoped',\n",
       "       'Enemies Slept', 'Healing - Biotic Grenade',\n",
       "       'Healing - Weapon Scoped', 'Healing Amplified',\n",
       "       'Nano Boost Assists', 'Nano Boost Efficiency',\n",
       "       'Nano Boosts Applied', 'Scoped Accuracy', 'Scoped Hits',\n",
       "       'Scoped Shots', 'Sleep Dart Hits', 'Sleep Dart Shots',\n",
       "       'Sleep Dart Success Rate', 'Unscoped Accuracy', 'Unscoped Hits',\n",
       "       'Unscoped Shots', 'Damage - Jump Pack',\n",
       "       'Damage - Primal Rage Leap', 'Damage - Primal Rage Melee',\n",
       "       'Damage - Primal Rage Total', 'Jump Pack Kills',\n",
       "       'Primal Rage Melee Accuracy', 'Primal Rage Melee Efficiency',\n",
       "       'Primal Rage Melee Hits', 'Primal Rage Melee Hits - Multiple',\n",
       "       'Primal Rage Melee Ticks', 'Tesla Cannon Accuracy',\n",
       "       'Tesla Cannon Efficiency', 'Tesla Cannon Hits',\n",
       "       'Tesla Cannon Hits - Multiple', 'Tesla Cannon Ticks',\n",
       "       'Weapon Kills', 'Sound Barrier Casts', 'Sound Barrier Efficiency',\n",
       "       'Sound Barriers Provided', 'Damage - Self Destruct',\n",
       "       'Self Destruct Efficiency', 'Self-Destruct Kills',\n",
       "       'Damage - Death Blossom', 'Death Blossom Efficiency',\n",
       "       'Death Blossom Kills', 'Death Blossoms', 'Damage - Total Mayhem',\n",
       "       'Total Mayhem Kills', 'Recon Assists', 'Health Recovered',\n",
       "       'Recalls Used', 'Damage - Venom Mine', 'Infra-Sight Efficiency',\n",
       "       'Infra-sight Uptime', 'Scoped Critical Hit Accuracy',\n",
       "       'Scoped Critical Hit Kills', 'Scoped Critical Hits',\n",
       "       'Venom Mine Kills', 'Healing - Immortality Field',\n",
       "       'High Energy Kills', 'Bob Gun Damage', 'Coach Gun Kills',\n",
       "       'Damage - Bob', 'Damage - Bob Charge', 'Damage - Coach Gun',\n",
       "       'Damage - Dynamite', 'Dynamite Kills', 'Damage - EMP',\n",
       "       'Melee Kills', 'Blizzard Efficiency', 'Blizzard Kills',\n",
       "       'Damage - Blizzard', 'Enemies Frozen', 'Freeze Spray Damage',\n",
       "       'Icicle Damage', 'Successful Freezes', 'Total Time Frozen',\n",
       "       'Damage - Flashbang', 'Fan the Hammer Kills', 'Damage - Deadeye',\n",
       "       'Deadeye Efficiency', 'Deadeye Kills', 'Primal Rage Efficiency',\n",
       "       'Primal Rage Kills', 'Damage - Weapon Sentry',\n",
       "       'Damage - Weapon Recon', 'Sentry Kills', 'Ultimates Negated',\n",
       "       'Minefield Kills', 'Damage - Charge',\n",
       "       'Rocket Hammer Melee Accuracy',\n",
       "       'Rocket Hammer Melee Average Targets', 'Rocket Hammer Melee Hits',\n",
       "       'Rocket Hammer Melee Hits - Multiple', 'Rocket Hammer Melee Ticks',\n",
       "       'Damage - Pulse Bomb', 'Pulse Bomb Attach Rate',\n",
       "       'Pulse Bomb Efficiency', 'Pulse Bomb Kills',\n",
       "       'Pulse Bombs Attached', 'Recon Kills', 'Damage - Dragonstrike',\n",
       "       'Damage - Sonic', 'Damage - Storm Arrows', 'Storm Arrow Kills',\n",
       "       'Armor - Repair Pack', 'Armor Provided', 'Damage - Weapon Tank',\n",
       "       'Tank Efficiency', 'Tank Kills', 'Hooks Attempted',\n",
       "       'Damage - Chain Hook', 'Enemies Hooked', 'Hook Accuracy',\n",
       "       'Charge Kills', 'Damage - Fire Strike', 'Damage - Deflect',\n",
       "       'Damage - Dragonblade', 'Damage - Dragonblade Total',\n",
       "       'Damage - Swift Strike', 'Damage Reflected',\n",
       "       'Dragonblade Efficiency', 'Dragonblade Kills', 'Dragonblades',\n",
       "       'Biotic Field Healing Done', 'Biotic Fields Deployed',\n",
       "       'Damage - Helix Rockets', 'Helix Rocket Kills',\n",
       "       'Damage - Discord Orb', 'Damage - Weapon Charged',\n",
       "       'Discord Orb Time', 'Harmony Orb Time', 'Healing - Harmony Orb',\n",
       "       'Time Discorded', 'Healing - Transcendence',\n",
       "       'Transcendence Efficiency', 'Transcendence Healing',\n",
       "       'Transcendence Percent of Healing',\n",
       "       'Damage - Swift Strike Dragonblade', 'Deflection Kills',\n",
       "       'Fire Strike Kills', 'Bob Kills', 'Armor - Rally',\n",
       "       'Damage - Shield Bash', 'Healing - Inspire',\n",
       "       'Healing - Repair Pack', 'Inspire Uptime',\n",
       "       'Inspire Uptime Percentage', 'Rally Armor Efficiency'],\n",
       "      dtype=object)"
      ]
     },
     "execution_count": 21,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df[\"map_type\"].unique()\n",
    "df[\"stat_name\"].unique()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "ename": "NameError",
     "evalue": "name 'df' is not defined",
     "output_type": "error",
     "traceback": [
      "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
      "\u001b[0;31mNameError\u001b[0m                                 Traceback (most recent call last)",
      "\u001b[0;32m<ipython-input-2-e59e90a93af3>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mdoomdf\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mdf\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mdf\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m\"hero\"\u001b[0m\u001b[0;34m]\u001b[0m \u001b[0;34m==\u001b[0m \u001b[0;34m\"Doomfist\"\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m      2\u001b[0m \u001b[0mdoomdf\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mhead\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;31mNameError\u001b[0m: name 'df' is not defined"
     ]
    }
   ],
   "source": [
    "doomdf = df[df[\"hero\"] == \"Doomfist\"]\n",
    "doomdf.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [
    {
     "ename": "NameError",
     "evalue": "name 'doomdf' is not defined",
     "output_type": "error",
     "traceback": [
      "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
      "\u001b[0;31mNameError\u001b[0m                                 Traceback (most recent call last)",
      "\u001b[0;32m<ipython-input-1-c4315d3cfacf>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mdoomdf\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0miloc\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m8\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;36m10\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m",
      "\u001b[0;31mNameError\u001b[0m: name 'doomdf' is not defined"
     ]
    }
   ],
   "source": [
    "doomdf.iloc[[8,10]]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.4"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
